package com.uobgroup.ews.uam.core.service;

import com.uobgroup.ews.uam.core.domain.Reference;
import com.uobgroup.ews.uam.core.domain.UAMUser;
import java.util.List;

public interface UAMUserService {

   public abstract long countAllUAMUsers();

   public abstract void deleteUAMUser(UAMUser UAMUser_);

   public abstract UAMUser findUAMUser(Long id);

   public abstract List<UAMUser> findAllUAMUsers();

   public abstract List<UAMUser> findUAMUserEntries(int firstResult, int maxResults);

   public abstract void saveUAMUser(UAMUser UAMUser_);

   public abstract UAMUser updateUAMUser(UAMUser UAMUser_);

   public abstract UAMUser findUserbyUsername(String username);

   public abstract boolean IsExitUser(String username);

   public abstract List<UAMUser> findUAMUserFilter(String username, Boolean IsAdmin, Boolean IsActive,
         Boolean IsDeleted, Boolean IsLocked, int firstResult, int maxResults);

   public long countUAMUserFilter(String username, Boolean IsAdmin, Boolean IsActive, Boolean IsDeleted,
         Boolean IsLocked);

   /**
    * @author dongn
    */
   public long countUserThatHasCountryReference(Reference country);
}
